Along with diffusion of Web-base technology, a so-called thin-client system configured to utilize a Web browser as a user interface and operate an application program on a Web server (an application server) has been put into practice. In this case, information to be transmitted from a server to a client may include hypertext markup language (HTML) documents containing forms, the wireless markup language (WML) defined as standard by the Open Mobile Alliance the Compact HTML which is a subset language of the HTML, and the like. As long as a client terminal can run a Web browser, the client can execute an application program without performing operations such as deploying or installing of the application program prior to the execution. Moreover, generally speaking, the client can operate such an application program by use of lower-processing performance hardware as compared to a case of executing the application program inside the client terminal.
The following documents are considered:    [Patent document 1], Japanese Patent Publication No. 3202968    [Patent document 2], Japanese Unexamined Patent Publication No. 2000-194612    [Patent document 3], Japanese Unexamined Patent Publication No. 2000-76473    [Patent document 4], Japanese Unexamined Patent Publication No. 9-204285
A low-end personal computer (PC) has been conventionally applied to the client terminal for the above-mentioned purpose. However, there are even lower-processing performance and lower-cost terminals designed to run the Web browser recently, including, personal digital assistants (PDAs), handheld PCs, set-top boxes, car navigation systems, and the like. Other new terminal devices including Web browser capability, such as cellular telephones, have also been developed. Therefore, in some cases, usability of these terminals may be considerably degraded. For example, a Web page, which is optimized for display on a PC having a wide display area, may require continual scrolling operations on a PDA having a smaller display area. In this concern, there has been a conventional technique which provides a data structure for optimizing a Web screen including a form from a device-independent hierarchical structure description to various terminal screens and an algorithm thereof (see Patent document 1, Patent document 2, and Patent document 3, for example.)
Meanwhile, there has been another conventional technique which is configured to invoke a corresponding validator at a point when an input field is partially inputted (at a point when a page of a divided form is switched to another page) by use of a constraint solving system (see Patent document 4, for example).
According to the conventional method disclosed in Patent document 1, Patent document 2, Patent document 3, and the like, the form can be converted into an appropriate structure as long as a logical structure of a screen is appropriately instructed as a device-independent description when producing an application program. However, a validator existing in the application program is not taken into consideration. Accordingly, while communication with a server takes place upon transition between divided pages, a form validator does not work until pressing a “submit” button at the end. Hence, there is a problem in terms of the usability. Moreover, even when the validator finds an error, it is not possible to display the position with the error immediately because the display begins from the first page of the divided screens (or from an index page). Accordingly, it takes some time for correcting and the usability is thereby degraded. In addition, it is naturally impossible to achieve appropriate division unless a structure such as grouping is described when defining screens.
Meanwhile, according to Patent document 4, an appropriate validator can be operated at a point when a page of a divided form is switched. However, if relations between input fields or validators, for example, semantically related input fields (or input fields supposed to be validated simultaneously by validators) such as input fields for state prefecture, city, or name of street, concerning a mode of dividing the form, are not taken into consideration, such input fields may be divided into mutually different screens. For this reason, the validators do not work in the course of transition of screens while inputting form data on these pages. In addition, it is not possible to view all the related data at once. Therefore, a user may be puzzled during an input operation. Further, the usability is degraded as modification screens are divided when the validators find an error.
Here, a Web form with validators for input values is defined as a page including various validators for input items (the input fields) on an input screen associated with processing by a Web application program, whose processing prepared in a form is executed when a user requests the processing by pressing the “submit” button and when all validations are completed (when all the validators return “OK” responses). If any one of the validators returns an NG response, an appropriate error message is returned to the user instead of performing the processing in the form and correction is requested to the user.
The validator can be configured to examine a single field by checking a type of a value (a numerical value or an electronic mail address format) in each input field, to check a constraint between a plurality of values, and to check whether the user completed the input, for example. The validator is provided as a program code to be executed by the server, or as a script program on a Web document to be executed by the terminal.
When a particularly complicated input screen in such a form (the Web form) is displayed on a terminal having a different screen size, the original input screen needs to be divided appropriately. Here, the appropriate division needs to meet the following requirements that the user can easily operate divided screens during the inputting operation in conformity to a screen size of the terminal or a user interface thereof, and that the user can correct an error easily upon occurrence of an input error. To be more precise, the appropriate division needs to meet the following requirements that a validator is operated at a point when transition is performed between the divided screens so as to immediately validate information inputted in the previous screen, that it is easy to access a suitable page when an error is found by the validator, and that a “submit” button cannot be pressed when it is obvious that the validator will inevitably find an error, that is, “submit” button for the form input can be pressed only when the form input has a possibility to pass the validation.
For example, considering a login screen having fields for a user ID and a password, a user will be surely puzzled if the fields for the user ID and the password are divided into different screens. It is because that the user cannot confirm the user ID inputted on the different screen in the course of inputting the password. Meanwhile, there are two conceivable reasons for a login error, namely, a user ID error and a password error. If these fields exist on mutually different screens, the user has to turn the pages back and forth upon occurrence of such an error, because it is possible to display only one of these pages at a time. In another example, when considering the case of dividing a form including very many input items such as an address (state prefecture, name of city, name of street), a telephone number, a company name, and the like, it is considered to be natural for a user to move back and forth freely among the input items and input them when inputting such diverse information. In this case, when the user completes the input and tries to submit the information, the user may not be always located on the final page where the “submit” button is provided. Accordingly, the usability for the user is degraded. On the contrary, incomplete input information may be submitted although all of the inputs are not completed yet if the “submit” button is provided on every page. In this case, the user will result in viewing unnecessary execution of error processing and error screens. Such a situation is also unfavorable.
Here, when the mutually related and complicated Web forms having many input items are divided into small screens such as a screen for a cellular telephone, the following conditions must be satisfied in light of the above-described usability (Requirements for division).
(Condition 1)
A size for one page after the division cannot exceed an upper limit attributable to limitations of the screen size and the receive buffer of the terminal.
(Condition 2)
Input fields for reference by one validator are not ought to be distributed to two or more divided forms.
Moreover, in consideration of a favorable situation for a user, it is preferable that the following two conditions are also satisfied.
(Condition 3)
The number of the divided pages should be minimized while satisfying the condition 2.
(Condition 4)
The largest divided pages in a page set from a result of division satisfying the condition 2 are compared with the largest pages from one another result, and the result of division where the size of the largest pages in the page set is smallest should be selected. In other words, the sizes of the divided groups are well balanced.